home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / AMICUS / AMICUS20.ADF / BobEd / menus.c < prev    next >
C/C++ Source or Header  |  1989-01-27  |  4KB  |  136 lines

  1. #include <bobed.h>
  2.  
  3. /*
  4.    "menus.c"
  5.    This file defines the menus used.
  6. */
  7.  
  8. struct Menu      menu [MENUS];        /* menu strip  */
  9. struct MenuItem  file [FILEI];        /* file menu   */
  10. struct IntuiText filetext [FILEI];    /* item text   */
  11. struct MenuItem  edit [EDITI];        /* edit menu   */
  12. struct IntuiText edittext [EDITI];    /* item text   */
  13. struct MenuItem  copy [EDITI];        /* copy menu   */
  14. struct IntuiText copytext [EDITI];    /* item text   */
  15.  
  16. VOID  makemenu ()
  17. {
  18.    int   n;
  19.  
  20.    /* init the file menu items */
  21.    for(n = 0; n < FILEI; n++)
  22.    {
  23.       file[n].NextItem = &file[n+1]; /* next item */
  24.       file[n].LeftEdge = 1;          /* offset from left window border */
  25.       file[n].TopEdge = 10*n;        /* offset from menu strip bottom  */
  26.       file[n].Width = 40;
  27.       file[n].Height = 10;
  28.       file[n].Flags = ITEMTEXT|ITEMENABLED|HIGHCOMP;
  29.       file[n].MutualExclude = 0;    /* each item is independent of others */
  30.       file[n].ItemFill = (APTR)&filetext[n];
  31.       file[n].SelectFill = NULL;    /* no alternate */
  32.       file[n].Command = 0;          /* no key equivalents */
  33.       file[n].SubItem = NULL;       /* no sub menus */
  34.       file[n].NextSelect = 0;
  35.  
  36.       filetext[n].FrontPen = 2;     /* black letters */
  37.       filetext[n].BackPen = 1;      /* white background */
  38.       filetext[n].DrawMode = JAM2;  /* use both colors */
  39.       filetext[n].LeftEdge = 0;
  40.       filetext[n].TopEdge = 1;
  41.       filetext[n].ITextFont = NULL; /* use system font */
  42.       filetext[n].NextText = NULL;
  43.    }
  44.    file[FILEI-1].NextItem = NULL; /* Last item */
  45.  
  46.    /* four options  */
  47.    filetext[0].IText = (UBYTE *)"Info";
  48.    filetext[1].IText = (UBYTE *)"Load";
  49.    filetext[2].IText = (UBYTE *)"Save";
  50.    filetext[3].IText = (UBYTE *)"Quit";
  51.  
  52.    /* init the edit menu items */
  53.    for(n = 0; n < EDITI; n++)
  54.    {
  55.       edit[n].NextItem = &edit[n+1]; /* next item */
  56.       edit[n].LeftEdge = 1;
  57.       edit[n].TopEdge = 10*n;
  58.       edit[n].Width = 50;
  59.       edit[n].Height = 10;
  60.       edit[n].Flags = ITEMTEXT|ITEMENABLED|HIGHCOMP;
  61.       edit[n].MutualExclude = 0;
  62.       edit[n].ItemFill = (APTR)&edittext[n];
  63.       edit[n].SelectFill = NULL;
  64.       edit[n].Command = 0;
  65.       edit[n].SubItem = NULL;
  66.       edit[n].NextSelect = 0;
  67.  
  68.       edittext[n].FrontPen = 2;
  69.       edittext[n].BackPen = 1;
  70.       edittext[n].DrawMode = JAM2;
  71.       edittext[n].LeftEdge = 0;
  72.       edittext[n].TopEdge = 1;
  73.       edittext[n].ITextFont = NULL;
  74.       edittext[n].NextText = NULL;
  75.    }
  76.    edit[EDITI-1].NextItem = NULL; /* Last item */
  77.  
  78.    /* three options  */
  79.    edittext[0].IText = (UBYTE *)"Clear ";
  80.    edittext[1].IText = (UBYTE *)"Flip  ";
  81.    edittext[2].IText = (UBYTE *)"Rotate";
  82.  
  83.    /* init the edit menu items */
  84.    for(n = 0; n < COPYI; n++)
  85.    {
  86.       copy[n].NextItem = ©[n+1]; /* next item */
  87.       copy[n].LeftEdge = 1;
  88.       copy[n].TopEdge = 10*n;
  89.       copy[n].Width = 42;
  90.       copy[n].Height = 10;
  91.       copy[n].Flags = ITEMTEXT|ITEMENABLED|HIGHCOMP;
  92.       copy[n].MutualExclude = 0;
  93.       copy[n].ItemFill = (APTR)©text[n];
  94.       copy[n].SelectFill = NULL;
  95.       copy[n].Command = 0;
  96.       copy[n].SubItem = NULL;
  97.       copy[n].NextSelect = 0;
  98.  
  99.       copytext[n].FrontPen = 2;
  100.       copytext[n].BackPen = 1;
  101.       copytext[n].DrawMode = JAM2;
  102.       copytext[n].LeftEdge = 0;
  103.       copytext[n].TopEdge = 1;
  104.       copytext[n].ITextFont = NULL;
  105.       copytext[n].NextText = NULL;
  106.    }
  107.    copy[COPYI-1].NextItem = NULL; /* Last item */
  108.  
  109.    /* two options  */
  110.    copytext[0].IText = (UBYTE *)"Copy ";
  111.    copytext[1].IText = (UBYTE *)"Paste";
  112.  
  113.    /* initialize the menu strip  */
  114.    for (n=0;n<MENUS;n++)
  115.    {
  116.       menu[n].NextMenu = (struct Menu *)&menu[n+1];
  117.       menu[n].LeftEdge = n*40+2;
  118.       menu[n].TopEdge = 0;    /* not implemented in 1.1  */
  119.       menu[n].Width = 40;
  120.       menu[n].Height = 10;
  121.       menu[n].Flags = MENUENABLED;             /* All items selectable */
  122.       menu[n].MenuName = NULL;   /* later */
  123.       menu[n].FirstItem = NULL;  /* later */
  124.    }
  125.    menu[MENUS-1].NextMenu = NULL;
  126.  
  127.    /* three menus   */
  128.    menu[0].MenuName = "File";
  129.    menu[0].FirstItem = (struct MenuItem *)&file[0];
  130.    menu[1].MenuName = "Edit";
  131.    menu[1].FirstItem = (struct MenuItem *)&edit[0];
  132.    menu[2].MenuName = "Copy";
  133.    menu[2].FirstItem = (struct MenuItem *)©[0];
  134. }
  135.  
  136.